﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Data;

namespace GloberoSport.Negocio
{
    public class Usuario
    {
        #region CAMPOS
        private string _login;
        private string _correo;
        private DateTime _fCumple;
        private List<string> _amigos;
        #endregion

        #region PROPIEDADES 
        public string Login
        {
            get { return _login; }
            set { _login = value; }
        }
        public string Correo
        {
            get { return _correo; }
            set { _correo = value; }
        }
        public DateTime FCumple
        {
            get { return _fCumple; }
            set { _fCumple = value; }
        }
        public List<string> Amigos
        {
            get { return _amigos; }
            set { _amigos = value; }
        }
        #endregion

        #region CONSTRUCTORES
        public Usuario(DataRow dr)
        {
            _login = dr["login"].ToString();
            _correo = "prueba@prueba.com";
            _fCumple = DateTime.Now;
            _amigos = new List<string>();
        }
        #endregion

        #region METODOS DE OBJETO
        public List<Noticia> obtenerNoticiasDeAmigos()
        {
            List<Noticia> lista = new List<Noticia>();
            if (_amigos.Count > 0)
            {
                lista = Noticia.obtTodasNoticiasDe(_amigos);
            }
            return lista;
        }

        public void obtenerAmigos()
        {            
            _amigos = Amistad.obtenerAmistades(this._login);
        }
        #endregion

        #region METODOS ESTATICOS DE CLASE
        public static List<Usuario> obtTodosUsuarios()
        {
            List<Usuario> lista = new List<Usuario>();
            DataTable dt = Datos.Usuario.obtTodosUsuarios();
            foreach (DataRow dr in dt.Rows)
            {
                try
                {
                    lista.Add(new Usuario(dr));
                }
                catch (Exception ex)
                {
                }
            }
            return lista;
        }
        #endregion
    }
}
